import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

// vuex mutations 被执行就是数据被修改的时刻

export default new Vuex.Store({
  state: {
    a: '',
    b: 2,
    arr: [1,2,3,4,5,6,7,8,9],
    array: [],
  }, // 存数据的地方 ? 耿直的获取数据
  getters: {
    even(state) {
      return state.arr.filter(v => v%2===0);
    }
  }, // 获得数据[预处理]的手段
  mutations: {
    change(state) {
      state.b = 2 * state.b;
    }
  }, // [同步]修改数据的手段
  actions: {
    delayChange(context) {
      setTimeout(function () {
        context.commit('change')
      },5000)
    }
  }, // 【异步】修改数据手段
  modules: {}, // 对数据进行分区管理
});
